A computer network is a geographically distributed collection of interconnected subnetworks for transporting data between stations, such as internetworking computer platforms. A local area network (LAN) is an example of such a subnetwork consisting of a transmission medium, such as coaxial cable or twisted pair, that provides relatively short distance communication among interconnected stations. The stations typically communicate by exchanging discrete packets or frames of data according to predefined protocols. In this context, a protocol consists of a set of rules defining how the stations interact with each other.
Most networks are typically organized as a series of hardware and software levels or "layers" within each station. These layers interact to format data for transfer between, e.g., a source station and a destination station communicating over the network. Specifically, predetermined services are performed on the data as it passes through each layer and the layers communicate with each other by means of the predefined protocols. This layered design permits each layer to offer selected services to other layers using a standardized interface that shields those layers from the details of actual implementation of the services.
In an attempt to standardize network architectures, i.e., the sets of layers and protocols used within a network, a generalized model has been proposed by the International Standards Organization (ISO). The model, called the Open Systems Interconnection (OSI) reference model, is directed to the interconnection of systems that are "open" for communication with other systems. The proposed OSI model has seven layers which are termed, in ascending interfacing order, the physical, data link, network, transport, session, presentation, and application layers. These layers are arranged to form a "protocol stack" in each station of the network.
FIG. 1 illustrates a schematic block diagram of prior art protocol stacks 125 and 175 used to transmit data between a source station 110 and a destination station 150, respectively, of a LAN 100. Each protocol stack comprises a collection of protocols, one per layer, and is preferably structured according to the OSI seven-layer model. As can be seen, the protocol stacks 125 and 175 are physically connected through a communications channel 180 at the physical layers 124 and 164. For ease of description, the protocol stack 125 will be described.
In general, the application layer 112 contains a variety of protocol functions that are commonly needed by software processes, e.g., sending process 104, executing on the station, while the presentation layer 114 is responsible for the presentation of transmitted data in a meaningful manner to the application layer. The session layer 116, transport layer 118 and, as described herein, the network layer 120 are substantially involved in providing pre-defined sets of services to aid in connecting the source station to the destination station.
IEEE standard 802 defines a flexible network architecture oriented to the implementation of LANs. Although it generally conforms with the OSI model, the IEEE approach addresses only the lowest two layers of that model, the physical and data link layers. Specifically, the physical layer 124 is concerned with the actual transmission of signals across the communication channel; in this context, the physical layer defines the types of cabling, plugs and connectors used in connection with the channel.
The data link layer 122, on the other hand, is responsible for transmission of data from one station to another. In the IEEE 802 architecture, the data link layer is divided into two sublayers: logical link control (LLC) and media access control (MAC). The LLC sublayer 180 allows the overlying network layer to access the services of the LAN without regard to the actual network implementation; more specifically, the LLC layer initiates control signal interchange, organizes data flow, interprets commands and generates responses.
The MAC sublayer 182 is primarily concerned with controlling access to the transmission medium and, to that end, defines rules or procedures by which the stations must abide in order to share the medium. The MAC layer further provides addressing and framing functions, the latter including the addition of header and trailer information needed to identify the boundaries of frames, to synchronize communication between source and destination stations.
Data transmission over the LAN 100 therefore consists of generating data in, e.g., sending process 104 executing on the source station 110, passing that data to the application layer 112 and down through the layers of the protocol stack 125, where the data are sequentially formatted as a frame for delivery onto the channel 180 as bits. Those frame bits are then transmitted to the protocol stack 175 of the destination station 150, where they are passed up that stack to a receiving process 174. Data flow is schematically illustrated by solid arrows.
Although actual data transmission occurs vertically through the stacks, each layer is programmed as though such transmission were horizontal. That is, each layer in the source station 100 is programmed to transmit data to its corresponding layer in the destination station 150, as schematically shown by dotted arrows. To achieve this effect, each layer of the protocol stack 125 in the source station 110 typically adds information (in the form of a header field) to the data frame generated by the sending process as the frame descends the stack. At the destination station 150, the various encapsulated headers are stripped off one-by-one as the frame propagates up the layers of stack 175 until it arrives at the receiving process.
As noted, a significant function of each layer in the OSI model is to provide services to the other layers. One type of service offered by the layers is a "connectionless" network service where each transmitted packet carries the full address of its destination through the network. A function of a router is determining the next station to which the packet is sent; this routing function is preferably performed by the network layer within each station. Moreover, a network layer protocol is generally used to implement a connectionless network service, the latter of which primarily defines a packet format. When the network layer receives a packet from the transport layer for transmission over the network, it encapsulates the packet with a header containing, inter alia, source and destination addresses. An example of a network layer protocol is Internet (IP) network layer protocol.
A vendor-developed network architecture in wide-spread use is the Systems Network Architecture (SNA) developed by International Business Machines Corp. SNA is a mainframe-oriented network architecture that also uses a layered approach. The services included within this architecture are generally similar to those defined in the OSI model, although the SNA architecture addresses only the network layer (120, 160) through the presentation layer (114, 154). However, SNA is significant to LAN technology because a LAN must often connect to, and be made a logical part of, an SNA mainframe network.
Access to the LAN is typically shared among the stations in accordance with various access control methods depending upon the topology of the subnetwork and the type of transmission control employed. A popular subnetwork topology is a ring network that is typically formed by configuring the communication channel as a loop and coupling the stations at intervals around the loop. The stations communicate by transmitting and receiving discrete signals in the form of data frames according to predefined protocols. Acceptance of a frame by each station, in turn, is determined on the basis of an address contained in the frame.
With LANs that employ a ring topology, a commonly used access control method is token passing. Token passing is a form of distributed transmission control wherein all the stations on the subnetwork cooperate in controlling access to the communication channel. Here, a small message or token is passed from one station to the next along the ring. If the token is marked as free, the station receiving it can transmit a message over the ring. A token ring network is an example of a ring topology that uses token passing as an access control method.
Token ring networks may be interconnected using intermediate stations, such as a router or bridge, whose primary function is to transfer frames between the rings. A route is the path a frame travels through the subnetworks from a source station to a destination station. Depending upon how the rings are interconnected, there may be more than one possible path for a frame to follow. Once the source station has "discovered" an optimal path to the destination, it transmits specifically-routed frames over the subnetworks; as the name implies, these frames include information specifying the route to, along with the address of, the destination station.
NetBIOS is a high-level programming interface that provides functions associated with the network, transport and session layers of the OSI model. In particular, the NetBIOS interface offers a reliable data transfer service based on the establishment of a session (i.e., virtual circuit connection) between two communicating stations. NetBIOS also provides a naming facility for associating names with logical entities of a station such that messages can be directed to a NetBIOS entity by specifying its name rather than its network address.
As noted, routers and bridges may be employed to interconnect a plurality of LANs; this, in turn, extends the effective "size" of the computer network and increase the number of communicating stations. Such an enlarged topology of internetworked computing stations requires services directed to managing the network. Lower-layer standards, such as IEEE 802, address network management to some extent, yet they typically do not deal with complex network management requirements associated with the higher network layers.
Network management applications are available to address certain of the management requirements of a complex network, but they typically deal with a single, protocol-centric view of the network. For example, SNA-based management systems (such as NetView) provide a SNA-centric view of entities coupled to the network. These entities include a physical unit (PU), i.e., a component that monitors a station's resources, and a logical unit (LU) which consists of logical services by which a user may access the SNA network. On the other hand, an IP-centric network view of resources (such as IP routers) is provided by management systems employing, e.g., a Simple Network Management Protocol (SNMP). Here, SNMP agents are associated with the routers and these agents communicate with the management console, e.g., a workstation, via a SNMP protocol.
A network management problem arises in the context of an integrated network environment comprising interconnected heterogeneous resources, such as SNA and NetBIOS entities, and IP routers. A host computer running, e.g., NetView is capable of managing the SNA entities and, in particular, the frame traffic originated by PU/LU components. However, because the routers are IP devices that encapsulate these frames within IP protocol packets, the management tool has no knowledge of the routers and thus cannot manage the encapsulated SNA traffic.
A known solution to this heterogeneous network management problem uses two distinct management application platforms: the Netview application executing on the host computer to manage the SNA resources and a SNMP application executing on a management console station to manage the IP routers. Use of two distinct management platforms is generally cumbersome and inefficient, particularly because there is no means for correlating the SNA and IP resources. The present invention is directed to the efficient management of an integrated computer network of heterogeneous resources and, further, to a correlation technique that allows such management from a single console station.